home *** CD-ROM | disk | FTP | other *** search
/ Aminet 43 / Aminet 43 (2001)(GTI - Schatztruhe)[!][Jun 2001].iso / Aminet / text / edit / BareED.lha / BareED / DAC / source / bareed_dac.i < prev    next >
Text File  |  2001-03-17  |  6KB  |  220 lines

  1.     IFND BAREED_DAC_I
  2.     BAREED_DAC_I    SET    1
  3. *
  4. **    BAREED_DAC
  5. **
  6. **    (C) Copyright 2001 J.v.d.Loo
  7. **
  8. **    Any declared pointer (below) is only readable because it points to a BareED intern variable!
  9. **    Never change it!!!
  10. **
  11. **    Any DAC-application can be compiled for a 68020 CPU since BareED itself presupposes it!    
  12. **
  13. **    Note that function parameters must be passed onto stack! - and the values returned by
  14. **    a CallBack-Hook are passed on the stack, too.
  15. **
  16. **    The result of a function, however, is returned in register D0.
  17. **
  18. *
  19.  
  20.     IFND    EXEC_LIBARIES_I
  21.     INCLUDE <exec/libraries.i>
  22.     ENDC
  23.  
  24.     IFND    GRAPHICS_GFXBASE_I
  25.     INCLUDE <graphics/gfxbase.i>
  26.     ENDC
  27.  
  28.     IFND    INTUITION_INTUITIONBASE_I
  29.     INCLUDE <intuition/intuitionbase.i>
  30.     ENDC
  31.  
  32.     IFND    INTUITION_SCREENS_I
  33.     INCLUDE <intuition/intuitionbase.i>
  34.     ENDC
  35.  
  36.     IFND    WORKBENCH_STARTUP_I
  37.     INCLUDE <workbench/startup.i>
  38.     ENDC
  39.  
  40.  
  41.     ; Returned by "pm_CreateProgressBar()" - see below.
  42.     ; Don't assume anything about the ProgressBar more than here stated -
  43.     ; in real it has got much more items!
  44.     ;
  45.     STRCUTURE ProgressBar,0
  46.     ; The only item visible so far...
  47.     APTR    pb_Window
  48.     LABEL    PB_SIZEOF        ; Not really the end...
  49.  
  50.  
  51.  
  52.  
  53.     STRUCTURE PseudoMsg,0
  54.     ; Normal start-up-message, with one argument (path & filename)
  55.     ; LN_NAME points to "BAREED"
  56.     ; LN_PRI set to zero (= version of this structure - 0 means beta)
  57.     ;
  58.     STRUCT    pm_Startup,sm_SIZEOF
  59.  
  60.  
  61.     ; Following is private, do not read or modify!
  62.     ;
  63.     BPTR    pm_Lock
  64.     APTR    pm_Name
  65.     STRUCT    pm_FileName,108
  66.     STRUCT    pm_Dir,256
  67.  
  68.  
  69.     ; Library bases (assume at least all are v36, except: Asl v38, Icon & Diskfont v33, Locale v1)
  70.     ;
  71.     APTR    pm_GfxBase
  72.     APTR    pm_IntuitionBase
  73.     APTR    pm_GadToolsBase
  74.     APTR    pm_DiskfontBase
  75.     APTR    pm_AslBase
  76.     APTR    pm_IconBase
  77.     APTR    pm_LocaleBase
  78.     APTR    pm_WorkbenchBase
  79.  
  80.     ; If you have to do own rendering using GadTools, these two may help you.
  81.     ; But beware of releasing them - BareED is the owner!
  82.     ;
  83.     APTR    VisualInfo;        ; Never release it!
  84.     APTR    DrawInfo;        ; Never release it!
  85.  
  86.  
  87.     ; Storage (buffer) start and size
  88.     ;
  89.     APTR    pm_RegionStart
  90.     ULONG    pm_RegionSize
  91.  
  92.  
  93.     ; Archive start and end
  94.     ;
  95.     APTR    pm_TextStart
  96.     APTR    pm_TextEnd
  97.  
  98.  
  99.     ; Application was started with this marked block
  100.     ;
  101.     APTR    pm_BlockStart
  102.     APTR    pm_BlockEnd
  103.  
  104.  
  105.     ; Editor is using this attribute for the used font
  106.     ;
  107.     APTR    pm_FontAttr
  108.  
  109.  
  110.     ; By editor used font
  111.     ;
  112.     APTR    pm_Font
  113.  
  114.  
  115.     ; The editor's surrounding
  116.     ;
  117.     APTR    pm_EdWindow
  118.  
  119.  
  120.     ; How wide is a tab character in pixels
  121.     ;
  122.     ULONG    pm_TabWidth
  123.  
  124.  
  125.     ; A tab stop occurs every 'n' characters (almost!)
  126.     ;
  127.     ULONG    pm_TabStops;
  128.  
  129.  
  130.     ; Rightmost offset set to 'n' characters (may zero!!!)
  131.     ;
  132.     ULONG    pm_RightMargin;
  133.  
  134.  
  135.     ; Pointer to 256 bytes - same order like LATIN-1 char-set - where each byte holds
  136.     ; the width of the concerned character, e. g. at offset 32 the width of the SPACE-
  137.     ; character can be found
  138.     ;
  139.     APTR    pm_CharSpace        ; Pointer to the character-spaces of the used font
  140.  
  141.  
  142.     ; Currently, following two function pointers are out of order (they are empty!!!)
  143.     ; To check if the current BareED version support those two, check them against zero!
  144.     ;
  145.     APTR    pm_GetAttr
  146.     APTR    pm_ChangeAttr
  147.  
  148.  
  149.     ; Two functions to permit/allow modifications through user-interface --- NOTE:
  150.     ; Since BareED protects the archive against modification (user/Arexx) there is no need to
  151.     ; call these functions - furthermore - even if you call AllowInput() it will not turn off
  152.     ; the protection - it only allows the user to scroll around in the text-file (for example)
  153.     ; which is anyway the defaulted mode!
  154.     ; void    (*pm_BlockInput)( void);
  155.     ; void    (*pm_AllowInput)( void);
  156.     ;
  157.     APTR    pm_BlockInput
  158.     APTR    pm_AllowInput
  159.  
  160.  
  161.     ; Display a simple text-requester whithout inhibiting the user from changing BareED's
  162.     ; interface. You could call BlockInput() first...
  163.     ; void    (*pm_Tell)( STRPTR str);
  164.     ;
  165.     APTR    pm_Tell
  166.  
  167.  
  168.     ; Display a simple text-requester without inhibiting the user from changing BareED's
  169.     ; interface. The user can react on the requester with "YES" or "NO".
  170.     ; unsigned int    (*pm_CaseTell)( STRPTR str);
  171.     ;
  172.     APTR    pm_CaseTell
  173.  
  174.  
  175.     ; Display a simple number-requester with inhibiting the user from changing BareED's
  176.     ; interface!
  177.     ;    initial     = intial number for the string-gadget that may be changed by the user later on
  178.     ;    winname  = title of the requester
  179.     ;    hailtext = the text displayed as body
  180.     ;    gadtext  = there is only one bool-gadget in this requester, this is the string for it
  181.     ;    zero     = must be set to zero!
  182.     ;   Returns NULL if user abandoned or the entered number
  183.     ; unsigned int    (*pm_RequestNumber)( unsigned int initial, STRPTR winname, STRPTR hailtext, STRPTR gadtext, BOOL zero);
  184.     ;
  185.     APTR    pm_RequestNumber
  186.  
  187.  
  188.     ; Four functions - please refere to the DAC-guide for function-reference
  189.     ; unsigned int    (*pm_StrPixelLen)( unsigned char *start, unsigned char *end);
  190.     ; void        (*pm_DumpStrLine)( unsigned char *start, unsigned char *end, struct RastPort *rp, unsigned int x, unsigned int y);
  191.     ; unsigned int    (*pm_WidestStrLen)( unsigned char *text, unsigned char *stop, unsigned int (*inform_code)( unsigned int len, unsigned int line), unsigned int inform);
  192.     ; void        (*pm_DumpStrings)( struct RastPort *rp, unsigned int (*dump_code)( unsigned int len, unsigned int line), unsigned char *text, unsigned char *stop);
  193.     ;
  194.     APTR    pm_StrPixelLen
  195.     APTR    pm_DumpStrline
  196.     APTR    pm_WidestStrLen
  197.     APTR    pm_DumpStrings
  198.  
  199.  
  200.     ; Functions attached to the progress-bar - refere to DAC-guide...
  201.     ; void            (*pm_FreeProgressBar)( struct ProgressBar *pb);
  202.     ; struct ProgressBar *    (*pm_CreateProgressBar)( STRPTR wintitle, STRPTR hail, STRPTR stop, STRPTR cont, STRPTR cancel);
  203.     ; unsigned int        (*pm_PullPBarEvent)( struct ProgressBar *pb);
  204.     ; void            (*pm_ChangePBarIndicator)( struct ProgressBar *pb, unsigned int percent, STRPTR hail);
  205.     ;
  206.     APTR    pm_FreeProgressBar
  207.     APTR    pm_CreateProgressBar
  208.     APTR    pm_PullPBarEvent
  209.     APTR    pm_ChangePBarIndicator
  210.  
  211.     ; <<< Following does not work properly yet - so don't use! >>>
  212.     ;
  213.     ; void    (*pm_TogglePBarGad)( struct ProgressBar *pb);
  214.     ;
  215.     APTR    pm_TogglePBarGad
  216.  
  217.     LABEL    PSMSG_SIZEOF
  218.  
  219.     ENDC    ; BAREED_DAC_I
  220.